#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
vector<int> v(6);
vector<int> tmp;
bool check(vector<int> &t)
{
    if (v[t[0]] + v[t[1]] > v[t[2]] &&
        v[t[2]] + v[t[1]] > v[t[0]] &&
        v[t[0]] + v[t[2]] > v[t[1]])
    {
        vector<int> index;
        for (int i = 0; i < 6; i++)
        {
            if (std::find(t.begin(), t.end(), i) == t.end())
            {
                index.emplace_back(i);
            }
        }
        if (v[index[0]] + v[index[1]] > v[index[2]] &&
            v[index[2]] + v[index[1]] > v[index[0]] &&
            v[index[0]] + v[index[2]] > v[index[1]])
        {
            return true;
        }
    }
    return false;
}
bool dfs(int pos)
{
    if (tmp.size() == 3)
    {
        if (check(tmp))
            return true;
        else
            return false;
    }

    for (int i = pos; i < 6; i++)
    {
        tmp.emplace_back(i);
        if (dfs(i + 1))
            return true;
        tmp.pop_back();
    }
    return false;
}
int main()
{
    int t;
    cin >> t;
    // 这道题目利用单调性可以直接写成十分简单的代码，但是只针对这道题目，
    // 所以，我们还是用dfs的方式来写一写
    while (t--)
    {
        tmp.clear();
        for (int i = 0; i < 6; i++)
            cin >> v[i];
        if (dfs(0))
            cout << "Yes" << endl;
        else
            cout << "No" << endl;
    }
    return 0;
}